1. Technical Field
This disclosure generally relates to streaming applications, and more specifically relates to reconfiguring a streaming application to reduce latency mismatches.
2. Background Art
Streaming applications are known in the art, and typically include multiple processing elements coupled together in a flow graph that process streaming data in near real-time. A processing element typically takes in streaming data in the form of data tuples, operates on the data tuples in some fashion, and outputs the processed data tuples to the next processing element. Streaming applications are becoming more common due to the high performance that can be achieved from near real-time processing of streaming data.
The configuration of a streaming application can be dynamically changed based on the performance of the streaming application. For example, if a processing element is having trouble processing data tuples at a fast enough rate, a similar processing element can be created and placed in parallel, thereby increasing the throughput in a region of the streaming application that was having trouble. Dynamic reconfigurations of a streaming application can lead to latency issues that degrade the performance of the streaming application.